b199a1b76ca7608b0e61d728249a9e4d8e62ab6b,java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/PsiResolveHelperImpl.java,PsiResolveHelperImpl,inferMethodTypeParameterFromParent,#PsiElement#PsiCallExpression#PsiTypeParameter#PsiSubstitutor#ParameterTypeInferencePolicy#,821
Before Change
}
final PsiMethod method = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceType);
if (method == null || methodParamsDependOnTypeParams((PsiLambdaExpression)expression, method.getParameterList().getParameters(),
PsiUtil.resolveGenericsClassInType(functionalInterfaceType).getSubstitutor(), typeParameter)) {
return getFailedInferenceConstraint(typeParameter);
}
}
After Change
}
final PsiMethod method = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceType);
final PsiClassType.ClassResolveResult resolveResult = PsiUtil.resolveGenericsClassInType(functionalInterfaceType);
if (method == null || methodParamsDependOnTypeParams((PsiLambdaExpression)expression, method.getParameterList().getParameters(),
TypeConversionUtil.getSuperClassSubstitutor(method.getContainingClass(), resolveResult.getElement(), resolveResult.getSubstitutor()), typeParameter)) {
return getFailedInferenceConstraint(typeParameter);
}
}